module(
    name = "pybind11_protobuf",
    version = "0.0.0-20250210-f02a2b7",
)

# Only direct dependencies need to be listed below.
# Please keep the versions in sync with the versions in the WORKSPACE file.
# see https://registry.bazel.build/
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "abseil-cpp", version = "20240722.0.bcr.2", repo_name = "com_google_absl")
bazel_dep(name = "abseil-py", version = "2.1.0", repo_name = "com_google_absl_py")
bazel_dep(name = "platforms", version = "0.0.10")
bazel_dep(name = "rules_cc", version = "0.0.15")
bazel_dep(name = "rules_python", version = "0.40.0")
bazel_dep(name = "pybind11_bazel", version = "2.13.6")
bazel_dep(name = "pybind11_abseil", version = "202402.0")
bazel_dep(name = "protobuf", version = "29.2", repo_name = "com_google_protobuf")
bazel_dep(name = "grpc", version = "1.56.3.bcr.1", repo_name = "com_github_grpc_grpc")

SUPPORTED_PYTHON_VERSIONS = [
    "3.12",
    "3.11",
    "3.10",
    "3.9",
]

DEFAULT_PYTHON = "3.12"

python = use_extension("@rules_python//python/extensions:python.bzl", "python")

[
    python.toolchain(
        is_default = version == DEFAULT_PYTHON,
        python_version = version,
    )
    for version in SUPPORTED_PYTHON_VERSIONS
]

use_repo(python, python = "python_versions")

pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")

[
    pip.parse(
        hub_name = "pybind11_protobuf_py_deps",
        python_version = version,
        requirements_lock = "//pybind11_protobuf/requirements:requirements_lock_" + version.replace(".", "_") + ".txt",
    )
    for version in SUPPORTED_PYTHON_VERSIONS
]

use_repo(pip, pypi = "pybind11_protobuf_py_deps")
